.. _cemCfgInMode_Set: cemCfgInMode_Set ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cemCfgInMode_Set([in] VT_I4 Axis, [in] VT_I4 InputMode, [in] VT_I4 IsReverse ) DESCRIPTION ````````````` - cemCfgInMode_Set()/cemCfgInMode_Get() 함수는 Feedback Pulse의 입력 모드를 설정 혹은 반환합니다. \ - Feedback 펄스는 실제 모터 또는 구조물의 구동 거리를 확인하기 위하여 사용되며 거의 대부분 인코 더 입력을 사용합니다. 사용자는 4가지 형태의 Feedback 펄스의 입력 모드를 설정할 수 있습니다. \ - 또한 이 함수는 입력 펄스의 로직( Feedback Count값의 UP/DOWN 방향)을 설정합니다. PARAMETER ````````````` ▶ Axis : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, (최대 통합 축 개수 – 1) 이하의 값을 축 번호로 설정할 수 있습니다. ▶ InputMode : Feedback펄스 입력 모드를 설정 혹은 반환합니다. 설정 가능한 입력 모드는 다음과 같습니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 (cemIMODE_AB1X), 1X A/B (1채배 엔코더 입력 모드) 1 (cemIMODE_AB2X), 2X A/B (2채배 엔코더 입력 모드) 2 (cemIMODE_AB4X), 4X A/B (4채배 엔코더 입력 모드) 3 (cemIMODE_CWCCW), CW/CCW (A펄스 - 카운트 증가, B펄스 - 카운트 감소) "| 4 (cemIMODE_STEP) ", " | 이 모드에서는 Feedback 위치 값을 읽으면 Command 위치값이 바이패스(bypass) 됩니다. | 엔코더 피드백이 없는 경우(스텝모터)에 이 모드를 선택합니다. " ▶ IsReverse : Feedback Count 값의 UP/DOWN 방향을 반대로 할 것인지 설정 혹은 반환합니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 (cemFALSE), Feedback count 의 UP/DOWN 방향이 반대가 아닙니다. 1 (cemTRUE), Feedback count 의 UP/DOWN 방향이 반대입니다. RETURN VALUE ````````````` .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 음수, 수행 실패 0(ERR_NONE), 수행 성공 EXAMPLE ``````````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “ceSDK.h” #include “ceSDKDef.h” void OnSetInMode () { long nAxisNo = 1; long nInputMode, nIsReverse; // Feedback Pulse 입력 모드를 설정할 축을 선택합니다. // 입력 모드 정보. /* 설정되어있는 Feedback Pulse 입력 모드를 확인하여, 입력 모드를 ‘4채배 엔코더 입력 모드’ 로 설정합니다. */ // 입력 모드 및 입력 펄스 로직 설정 상태 확인 if ( cemCfgInMode_Get ( nAxisNo, &nInputMode, &nIsReverse ) == ceERR_NONE ) { if ( nInputMode != cemIMODE_AB4X ) { cemCfgInMode_Set ( nAxisNo, cemIMODE_AB4X, CE_FALSE ); } } } .. code-block:: c++ :linenos: Visual Basic Private Sub OnSetInMode () Dim nAxisNo As Long ‘ Feedback Pulse 입력 모드를 설정할 축을 선택합니다. Dim nInputMode As Long, nIsReverse As Long long nAxisNo = 1 ‘ 입력 모드 정보. ‘ 설정되어있는 Feedback Pulse 입력 모드를 확인하여, ‘ 입력 모드를 ‘4채배 엔코더 입력 모드’ 로 설정합니다. ‘ 입력 모드 및 입력 펄스 로직 설정 상태 확인 If cemCfgInMode_Get ( nAxisNo, nInputMode, nIsReverse ) = ceERR_NONE Then If nInputMode <> cemIMODE_AB4X Then Call cemCfgInMode_Set ( nAxisNo, cemIMODE_AB4X, CE_FALSE ) End If End If End Sub .. code-block:: c++ :linenos: Delphi procedure OnSetInMode () var nAxisNo : LongInt; // Feedback Pulse 입력 모드를 설정할 축을 선택합니다. nInputMode, nIsReverse : LongInt // 입력 모드 정보. begin nAxisNo := 1; { 설정되어있는 Feedback Pulse 입력 모드를 확인하여, 입력 모드를 ‘4채배 엔코더 입력 모드’ 로 설정합니다. } // 입력 모드 및 입력 펄스 로직 설정 상태 확인 if cemCfgInMode_Get ( nAxisNo, @nInputMode, @nIsReverse ) = ceERR_NONE then begin if nInputMode <> cemIMODE_AB4X then begin cemCfgInMode_Set ( nAxisNo, cemIMODE_AB4X, CE_FALSE ); end; end; end;